package com.ctshk.rpc.hotel.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;


/**
 * <p>
 * 预订中心-巴士订单详情
 * </p>
 */
@Data
@ApiModel(value="预订中心酒店订单详情DTO", description="预订中心酒店订单详情DTO")
public class HotelOrderDetailDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "酒店订单id")
    private Long id;

    @ApiModelProperty(value = "销售单号")
    private String orderNumber;

    @ApiModelProperty(value = "订单金额(HKD)")
    private String orderAmount;

    @ApiModelProperty(value = "销售方式", example = "打包销售/单品销售")
    private String allowPackage;

    @ApiModelProperty(value = "付款状态")
    private Integer paymentStatus;

    @ApiModelProperty(value = "预订状态")
    private Integer scheduledStatus;

    @ApiModelProperty(value = "取消状态")
    private Integer cancelStatus;

    @ApiModelProperty(value = "类型")
    private String businessType;

    @ApiModelProperty(value = "产品类型")
    private String productType;

    @ApiModelProperty(value = "付款到期时间,付款状态为代付款时需显示该字段")
    private LocalDateTime payExpireDate;

    @ApiModelProperty(value = "联系人姓名")
    private String contactName;

    @ApiModelProperty(value = "来源")
    private String source;

    @ApiModelProperty(value = "销售人员名称")
    private String salesmanName;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime gmtCreate;

    @ApiModelProperty(value = "外挂单信息")
    private HotelManualOrderDetailDTO hotelManualOrderDetailDTO;

    @ApiModelProperty(value = "酒店订单旅客信息")
    private List<HotelOrderTouristDTO> hotelOrderTouristDTO;

    @ApiModelProperty(value = "酒店订单收款明细信息")
    private List<HotelOrderCollectionDTO> hotelOrderCollectionDTOList;

    @ApiModelProperty(value = "酒店退款记录信息")
    private List<HotelOrderRefundDTO> hotelOrderRefundDTO;

    @ApiModelProperty(value = "")
    private List<HotelOrderTouristDTO> hotelOrderTouristDTOList;
}
